package edu.unmsm.ocaa.sisocaa.negocio.service.impl;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;
import javax.faces.model.SelectItem;

import org.springframework.stereotype.Service;

import edu.unmsm.ocaa.sisocaa.integracion.dao.FichaDAO;
import edu.unmsm.ocaa.sisocaa.integracion.dao.FichaxUsuarioDAO;
import edu.unmsm.ocaa.sisocaa.negocio.model.dto.FichaxUsuarioDTO;
import edu.unmsm.ocaa.sisocaa.negocio.service.FichaxUsuarioService;

@Service
public class FichaxUsuarioServiceImpl implements FichaxUsuarioService {

	@Resource
	FichaxUsuarioDAO fichxusudao;
	
	@Resource
	FichaDAO fichdao;
	
	@Override
	public void guardarFichaxUsuario(FichaxUsuarioDTO e) {
		// TODO Auto-generated method stub
		fichxusudao.insertFichxUsu(e);
	}

	@Override
	public void eliminarFichaxUsuario(Integer idficha, Integer usuid) {
		// TODO Auto-generated method stub
		fichxusudao.deleteFichxUsu(usuid, idficha);
	}

	@Override
	public List<FichaxUsuarioDTO> listarFichaxUsuario(Integer usuid) {
		// TODO Auto-generated method stub
		return fichxusudao.getFichxUsu(usuid);
	}

	@Override
	public String[] listarFichaxUsuarioString(Integer usuid) {
		// TODO Auto-generated method stub
		List<FichaxUsuarioDTO> list=fichxusudao.getFichxUsu(usuid);
		String[] liststring=new String[list.size()];
		for (int i = 0; i < list.size(); i++) {
			liststring[i] =list.get(i).getIdficha().toString();
		}
		return liststring;
	}

	@Override
	public void eliminarFichaxUsuarioAll(Integer usuid) {
		// TODO Auto-generated method stub
		fichxusudao.deleteFichxUsuAll(usuid);
	}

	@Override
	public ArrayList<SelectItem> listarFichaxUsuarioItems(Integer usuid) {
		// TODO Auto-generated method stub
		ArrayList<SelectItem> list=new ArrayList<SelectItem>();
		List<FichaxUsuarioDTO> listfichas=fichxusudao.getFichxUsu(usuid);
		for (int i = 0; i < listfichas.size(); i++) {
			list.add(new SelectItem(listfichas.get(i).getIdficha(), fichdao.getFicha(listfichas.get(i).getIdficha()).getTit_ficha()));
		}
		return list;
	}

}
